/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.trino.jdbc.tuple.protocol;


import lombok.Getter;

/**
 * MYSQL 字段类型及标识定义枚举
 */
public enum FieldsProtocolType {

    /** field data type */
    FIELD_TYPE_DECIMAL(FieldsProtocol.FIELD_TYPE_DECIMAL),
    FIELD_TYPE_TINY(FieldsProtocol.FIELD_TYPE_TINY),
    FIELD_TYPE_SHORT(FieldsProtocol.FIELD_TYPE_SHORT),
    FIELD_TYPE_LONG(FieldsProtocol.FIELD_TYPE_LONG),
    FIELD_TYPE_FLOAT(FieldsProtocol.FIELD_TYPE_FLOAT),
    FIELD_TYPE_DOUBLE(FieldsProtocol.FIELD_TYPE_DOUBLE),
    FIELD_TYPE_NULL(FieldsProtocol.FIELD_TYPE_NULL),
    FIELD_TYPE_TIMESTAMP(FieldsProtocol.FIELD_TYPE_TIMESTAMP),
    FIELD_TYPE_LONGLONG(FieldsProtocol.FIELD_TYPE_LONGLONG),
    FIELD_TYPE_INT24(FieldsProtocol.FIELD_TYPE_INT24),
    FIELD_TYPE_DATE(FieldsProtocol.FIELD_TYPE_DATE),
    FIELD_TYPE_TIME(FieldsProtocol.FIELD_TYPE_TIME),
    FIELD_TYPE_DATETIME(FieldsProtocol.FIELD_TYPE_DATETIME),
    FIELD_TYPE_YEAR(FieldsProtocol.FIELD_TYPE_YEAR),
    FIELD_TYPE_NEWDATE(FieldsProtocol.FIELD_TYPE_NEWDATE),
    FIELD_TYPE_VARCHAR(FieldsProtocol.FIELD_TYPE_VARCHAR),
    FIELD_TYPE_BIT(FieldsProtocol.FIELD_TYPE_BIT),
    FIELD_TYPE_NEW_DECIMAL(FieldsProtocol.FIELD_TYPE_NEW_DECIMAL),
    FIELD_TYPE_ENUM(FieldsProtocol.FIELD_TYPE_ENUM),
    FIELD_TYPE_SET(FieldsProtocol.FIELD_TYPE_SET),
    FIELD_TYPE_TINY_BLOB(FieldsProtocol.FIELD_TYPE_TINY_BLOB),
    FIELD_TYPE_MEDIUM_BLOB(FieldsProtocol.FIELD_TYPE_MEDIUM_BLOB),
    FIELD_TYPE_LONG_BLOB(FieldsProtocol.FIELD_TYPE_LONG_BLOB),
    FIELD_TYPE_BLOB(FieldsProtocol.FIELD_TYPE_BLOB),
    FIELD_TYPE_VAR_STRING(FieldsProtocol.FIELD_TYPE_VAR_STRING),
    FIELD_TYPE_STRING(FieldsProtocol.FIELD_TYPE_STRING),
    FIELD_TYPE_GEOMETRY(FieldsProtocol.FIELD_TYPE_GEOMETRY),
    ;

    @Getter
    private int type;

    FieldsProtocolType(int type){
        this.type = type;
    }

}


